package pr2.mutacion;

import pr2.cromosoma.CromosomaPVC;

public class EstrategiaMutacionTest {

	public static void main(String[] args) {
		
		System.out.println("*************MUTACION POR INTERCAMBIO*************");
		CromosomaPVC cromosoma = new CromosomaPVC();
		System.out.println(cromosoma.getFenotipo().toString());
		MutacionIntercambio mutacionIntercambio = new MutacionIntercambio();
		mutacionIntercambio.muta(cromosoma, 1);
		System.out.println(cromosoma.getFenotipo().toString());
		System.out.println();
		
		System.out.println("*************MUTACION POR INSERCION*************");
		cromosoma = new CromosomaPVC();
		System.out.println(cromosoma.getFenotipo().toString());
		MutacionInsercion mutacionInsercion = new MutacionInsercion(3);
		mutacionInsercion.muta(cromosoma, 1);
		System.out.println(cromosoma.getFenotipo().toString());
		System.out.println();

		System.out.println("*************MUTACION POR INVERSION*************");
		cromosoma = new CromosomaPVC();
		System.out.println(cromosoma.getFenotipo().toString());
		MutacionInversion mutacionInversion = new MutacionInversion();
		mutacionInversion.muta(cromosoma, 1);
		System.out.println(cromosoma.getFenotipo().toString());
		System.out.println();

		System.out.println("*************MUTACION POR HEURISTICA*************");
		cromosoma = new CromosomaPVC();
		System.out.println(cromosoma.getFenotipo().toString());
		MutacionHeuristica mutacionHeuristica = new MutacionHeuristica(3);
		mutacionHeuristica.muta(cromosoma, 1);
		System.out.println(cromosoma.getFenotipo().toString());
		System.out.println();
		

		System.out.println("*************MUTACION POR HEURISTICA CON DISTANCIA*************");
		cromosoma = new CromosomaPVC();
		System.out.println(cromosoma.getFenotipo().toString());
		MutacionHeuristicaDist heuristicaDist = new MutacionHeuristicaDist(3);
		heuristicaDist.muta(cromosoma, 1);
		System.out.println(cromosoma.getFenotipo().toString());
		System.out.println();

	}

}
